package com.exit490.cfp.helper;


import com.exit490.cfp.dao.CapitalDAO;
import com.exit490.cfp.dao.CategoriaDAO;
import com.exit490.cfp.dao.FavoritoDAO;
import com.exit490.cfp.dao.RecorrenciaDAO;
import com.exit490.cfp.dao.TransacaoDAO;

public class SQLHelper {
    public static String NOME_DB = "cfpessoal.db";
    public static int VERSAO_BD = 1;

    public static String CRIAR_TABELA_CAPITAL = "CREATE TABLE IF NOT EXISTS " + CapitalDAO.TABELA_NOME + "(" + CapitalDAO.COLUNA_ID
            + " INTEGER PRIMARY KEY autoincrement," + CapitalDAO.COLUNA_NOME + " varchar(20) not null," + " UNIQUE(" + CapitalDAO.COLUNA_NOME
            + "));";

    public static String CRIAR_TABELA_CATEGORIA = "CREATE TABLE IF NOT EXISTS " + CategoriaDAO.TABELA_NOME + "(" + CategoriaDAO.COLUNA_ID
            + " INTEGER PRIMARY KEY autoincrement," + CategoriaDAO.COLUNA_NOME + " varchar(20) not null," + " UNIQUE(" + CategoriaDAO.COLUNA_NOME
            + "));";

    public static String CRIAR_TABELA_TRANSACAO = "CREATE TABLE IF NOT EXISTS " + TransacaoDAO.TABELA_NOME + "(" + TransacaoDAO.COLUNA_ID
            + " INTEGER PRIMARY KEY autoincrement, " + TransacaoDAO.COLUNA_ID_CAPITAL + " INTEGER," + TransacaoDAO.COLUNA_ID_CATEGORIA
            + " INTEGER," + TransacaoDAO.COLUNA_VALOR_TRANSACAO + " DOUBLE not null," + TransacaoDAO.COLUNA_RECEITA_DESPESA
            + " INTEGER not null," + TransacaoDAO.COLUNA_DATA_CONCRETIZACAO + " date ," + TransacaoDAO.COLUNA_DATA_TRANSACAO + " date not null,"
            + " FOREIGN KEY (" + TransacaoDAO.COLUNA_ID_CAPITAL + ") REFERENCES " + CapitalDAO.TABELA_NOME + "(" + CapitalDAO.COLUNA_ID + "),"
            + " FOREIGN KEY (" + TransacaoDAO.COLUNA_ID_CATEGORIA + ") REFERENCES " + CategoriaDAO.TABELA_NOME + "(" + CategoriaDAO.COLUNA_ID
            + "));";

    public static String CRIAR_TABELA_FAVORITOS = "CREATE TABLE " + FavoritoDAO.TABELA_NOME + "(" + FavoritoDAO.COLUNA_ID
            + " INTEGER PRIMARY KEY autoincrement, " + FavoritoDAO.COLUNA_ID_CAPITAL + " INTEGER," + FavoritoDAO.COLUNA_ID_CATEGORIA
            + " INTEGER," + FavoritoDAO.COLUNA_VALOR_TRANSACAO + " DOUBLE not null," + FavoritoDAO.COLUNA_RECEITA_DESPESA
            + " INTEGER not null," + FavoritoDAO.COLUNA_DATA_CONCRETIZACAO + " date ," + FavoritoDAO.COLUNA_DATA_TRANSACAO + " date not null,"
            + " FOREIGN KEY (" + FavoritoDAO.COLUNA_ID_CAPITAL + ") REFERENCES " + FavoritoDAO.TABELA_NOME + "(" + FavoritoDAO.COLUNA_ID + "),"
            + " FOREIGN KEY (" + FavoritoDAO.COLUNA_ID_CATEGORIA + ") REFERENCES " + FavoritoDAO.TABELA_NOME + "(" + FavoritoDAO.COLUNA_ID
            + "));";

    public static String CRIAR_TABELA_RECORRENCIA = "CREATE TABLE IF NOT EXISTS " + RecorrenciaDAO.TABELA_NOME + "(" + RecorrenciaDAO.COLUNA_ID
            + " INTEGER PRIMARY KEY autoincrement," + RecorrenciaDAO.COLUNA_ID_TRANSACAO + " integer not null,"
            + RecorrenciaDAO.COLUNA_DATA_FINAL + " date ," + RecorrenciaDAO.COLUNA_DATA_VENCIMENTO + " date, " + " FOREIGN KEY ("
            + RecorrenciaDAO.COLUNA_ID + ") REFERENCES " + RecorrenciaDAO.TABELA_NOME + "(" + RecorrenciaDAO.COLUNA_ID_TRANSACAO + "));";

}
